import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.MessageProperties;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

/**
 * @description： 生产者消息
 * @Author MRyan
 * @Date 2020/11/2 14:43
 * @Version 1.0
 */
class Providers {

    public static void main(String[] args) throws IOException, TimeoutException {
        Connection connection = RabbitMqUtil.getConnection("192.168.43.78", 5672, "/ems", "ems", "123");
        //获取传递消息通道
        Channel channel = connection.createChannel();


        //通道绑定对应消息队列
        //参数1：队列名称 如果队列不存在则自动创建
        //参数2：用来定义队列的特性是否需要持久性，true持久化队列， false不持久化
        //参数3： exclusive是否独占队列 true独占队列  false不独占
        //参数4：autoDelete：是否在消息完成后自动删除队列 true自动删除，false 不自动删除
        //参数5：额外附加参数
        channel.queueDeclare("hello", true, false, false, null);

        //发布消息
        //参数1：交换机名称
        //参数2：队列名称
        //参数3：传递消息的额外设置
        //参数4：传递消息的具体内容
        channel.basicPublish("", "hello", MessageProperties.PERSISTENT_TEXT_PLAIN, "hello rabbitmq".getBytes());

        RabbitMqUtil.close(connection, channel);
    }

}

